//
//  audio_test_interface.h
//  thunder_framework
//
//  Created by Cloud on 10-11-10.
//  Copyright 2010 Thunder Network Ltd. All rights reserved.
//

#ifndef _AUDIO_SERVICE_IMPL_H
#define _AUDIO_SERVICE_IMPL_H

long init_audio_service_impl();
long uninit_audio_service_impl();

void create_audio_service_impl(void** audio_service_data, long samplerate, long channels, long bitspersample);
long destroy_audio_service_impl(void* audio_service_data);
long get_audio_service_samplerate_impl(void* audio_service_data);
long get_audio_service_channels_impl(void* audio_service_data);
long get_audio_service_bitspersample_impl(void* audio_service_data);
float get_audio_service_volume_impl();
long long get_audio_service_ts_impl(void* audio_service_data);
long get_audio_service_frame_count_impl(void* audio_service_data);
long get_audio_service_play_state_impl(void* audio_service_data);
void set_audio_service_samplerate_impl(void* audio_service_data, long samplerate);
void set_audio_service_channels_impl(void* audio_service_data, long channels);
void set_audio_service_bitspersample_impl(void* audio_service_data, long bitspersample);
void set_audio_service_volume_impl(float volume);

long play_audio_buffer_impl(void* audio_service_data, unsigned char *buffer, long length, long long ts);
long empty_audio_buffer_impl(void* audio_service_data);
long replay_impl(void* audio_service_data);
long pause_impl(void* audio_service_data);
long set_play_speed_impl(void* audio_service_data, float play_speed);

#endif